# -*- encoding: utf-8 -*-
# author:lmolhw
# datetime:2020-5-7 13:30

"""
文件说明：
    根据GBK中不包含的字符，清洗dict
"""


def open_txt(file_name):
    with open(file_name, 'r') as f:
        try:
            line = f.readline()
            while line:
                yield line.strip()
                line = f.readline()
        except:
            print('No value')


# clean_dict 可以根据pre_by_level.py统计出字典中没有的字符，然后从语料中删减
# clean_dict = {'\ue1c9', '\ue000', '\ue662', '⑩', 'à', '\ue002', '墪', '滧', 'Ｒ', '報', '′', '５', '\ue1db', '砱', '↖', '｝', '潤', '＿', '涇', '\ue00e', 'ˉ', '喆', '堽', '墱', 'ひ', '１', '⑨', 'Ｌ', '愽', '\ue835', 'Ｑ', '〇', 'Ｃ', '忂', ')', '蚆', '堼', '\ue1da', '沒', '\ue2cc', '＆', '`', '崙', 'Ｈ', '恵', '岞', '●', '﹚', '碪', '囍', '\ue001', 'Ｂ', '\ue057', '堭', '橔', ';', '玚', 'Ｚ', '\ue5cd', '鞥', '\ue5c1', '獅', '挻', '>', '８', '砵', '≡', '↘', '嘡', '★', 'ロ', '岠', '９', '〝', 'α', '柖', '浹', 'π', '\ue0c4', '③', '+', 'ｃ', '㎡', '-', '|', 'é', '｛', '}', 'の', '→', 'Ι', 'η', '橑', '冇', '灣', '%', '\ue5e5', '櫈', '～', 'Ⅴ', '￥', '堲', '僜', '灴', 'Ｐ', '蓢', '６', '０', '.', '墥', '⑤', '\ue083', '￣', '①', "'", 'β', '釒', '礕', '╱', '４', '汸', '﹝', '²', '薱', '\ue106', '°', '橋', '[', '蕐', '○', '﹑', '浿', 'Ⅵ', 'ｂ', 'φ', 'Ⅹ', '\ue158', '@', 'Ｇ', '•', 'í', '榶', '<', '\ue5d9', 'Φ', '蕓', '‐', '〖', 'ー', '\\', '－', '匋', '罏', '剅', '鉰', '﹣', '滙', '陖', '錒', '∽', '渟', '\ue817', '坽', '潥', ']', '厫', '崟', 'ɑ', '嘠', '簊', '─', '⑶', '＊', '\ue10a', '岕', '柌', '椪', '崚', '徳', '−', '"', '\x08', '渰', 'Ｖ', '２', 'θ', '\u200b', '坮', '﹞', 'ǐ', '＼', '潡', '(', 'ｅ', '×', '﹙', '?', '岒', '梍', '潠', '√', '\ue05a', '坬', '毘', 'Ｆ', 'Ｅ', '墰', '［', 'Ｓ', 'ī', '≠', '\ue056', '沄', '▪', 'Ⅳ', '‖', '/', 'Ｔ', '∶', '＃', '胦', '〧', 'ξ', '撗', '*', '⒓', '琓', '\ue1ca', '玥', '⑦', '冚', '\ue797', '糥', '{', '聐', 'Ｋ', 'ó', '寀', 'ù', '仠', '＋', '滣', '廣', '―', '∕', '^', '·', '］', '３', '榼', '$', '\u202c', '〗', '\ue4cc', '崯', 'Ⅱ', '\ue5f1', '桾', '沇', '∵', '潩', '\ue5a9', '沕', '厷', '\x7f', '蓭', '℃', '柛', '\ue5fd', 'Ｎ', '＂', '琍', '\ue40f', 'Ⅲ', '┛', '_', '胐', '廟', '◎', '玠', '↑', '﹢', '⊙', '#', 'ⅱ', '撘', '\u200e', '憺', 'ㄧ', '憶', '�', '⑥', '玡', '﹒', '!', '﹟', 'Ｗ', '場', '榪', '蓤', '=', 'А', '~', '阾', '阺', '崝', '櫆', '\ue096', '／', 'á', '³', ':', 'Ⅰ', '②', '坲', '⒇', '\ue003', '坵', '〞', '滘', '崠', '\ue420', '\u202d', '沋', '誎', '&'}

raw_dict = [x for x in open_txt('/data1/lhw/workspace/mtl-text-recognition/config/dict/cleaned_all_dict.txt')]
need_clean_txt = '/data2/ocrdata/80.混拍数据/2020.10财务部拍照/labels_0.98_hb20xx_bj2018_caiwu.txt'

cleaned_txt = open('/data2/ocrdata/80.混拍数据/2020.10财务部拍照/0.98_hb20xx_bj2018_caiwu.txt', 'w')

for line in open_txt(need_clean_txt):
    iswrite = True
    try:
        gt = line.split('\t')[1]
        for c in list(gt):
            if c not in raw_dict:
                iswrite = False
                break
        if iswrite:
            cleaned_txt.writelines(line.strip() + '\n')
    except:
        pass

    